#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<math.h>


//int main()
//{
//	int arr[6] = { 0 };
//	
//	for (int i=0;i <= 100000;i++)
//	{
//		int n = 1;
//		int j = i;
//
//		do
//		{
//			j /= 10;
//			if (j != 0)
//			{
//				 n++;
//			}	
//
//		} while (j);
//		
//	}
//	
//	for (int i = 0;i <= 100000;i++)
//	{
//		int j = i;
//		for (n;;n--)
//		{
//			j %= 10;
//			arr[n] = j;
//			
//		}
//		
//	}
//
//	return 0;
//}

//int get(int num)
//{
//	if (num == 0)
//	{
//		return 1;
//	}
//	else
//	{
//		int count = 0;
//		while (num > 0)
//		{
//			num /= 10;
//			count++;
//		}
//		return count;
//		
//	}
//
//}
//int main()
//{
//	
//	for (int num=0;num <= 100000;num++)
//	{
//		int sum = 0;
//		int temp =num;
//		int s = get(num);
//
//		for (int i = 0;i < s;i++)
//		{
//			sum+=pow(temp % 10, s);
//			temp /= 10;
//		}
//		if (num == sum)
//			{
//				printf("%d\n", num);
//			}
//	}
//
//
//	return 0;
//}
//int main()
//{
//	int temp = 0;
//	int sum = 0;
//	int a = 0;
//	scanf("%d", &a);
//	for (int i = 0;i < 5;i++)
//	{		
//		temp += a * pow(10, i);
//		sum += temp;
//	}
//	printf("%d", sum);
//
//
//	return 0;
//}
//int DigitSum(int num)
//{
//	int m = num % 10;
//
//	if (num != 0)
//	{
//		int temp = DigitSum(num /= 10);
//		m += temp;
//		return m;
//	}
//	else
//		return 0;
//	
//}
//
//int main()
//{
//	int num = 0;
//	scanf("%d", &num);
//	int sum=DigitSum(num);
//	printf("%d", sum);
//
//	return 0;
//}
//int fact(int n)
//{
//	int m = 0;
//	if (n != 0)
//	{
//		 m = n * fact(n - 1);
//		 return m;
//	}	
//	
//}
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int m = fact(n);
//	printf("%d", m);
//
//
//	return 0;
//}
//void print(int num)
//{
//	if (num != 0 )
//	{
//			int temp = num % 10;
//			print(num /= 10);
//			printf("%d ", temp);
//	
//	}
//	
//}
//int main()
//{
//	int num = 0;
//	scanf("%d", &num);
//	print(num);
//
//	return 0;
//}


//int fib(int n)
//{
//	if (n == 1 || n==2)
//	{
//		return 1;
//	}
//	else
//	{
//
//		return fib(n - 1) + fib(n - 2);
//	}
//
//}
//int main()
//{
//	int n = 0;
//	while (scanf("%d", &n) != EOF)
//	{
//		int m = fib(n);
//		printf("%d\n", m);
//
//	}
//	
//	return 0;
//}
int math(int n, int k)
{
	if (k == 0)
	{
		return 1;
	}
	else
	k--;
	return n * math(n, k);
}



int main()
{
	int n = 0;
	int k = 0;
	scanf("%d %d", &n, &k);
	int m = math(n, k);
	printf("%d", m);

	return 0;
}